This invention relates to color mapping, and more particularly, it relates to mapping from a color space to a colorant space.
Digital image forming devices, such as color printers and copiers, are often required to map a color image gamut from a color space to a colorant space. For example, the color gamut of a photograph may be represented in the CIELAB color space, and the color gamut of an image forming device may be represented in the CMYK color space. Before the image forming device can print or display the image, the image represented in the CIELAB color space must be converted to the CMYK color space. Several problems must be solved in converting an image gamut from the CIELAB color space to the CMYK color space. First, the problem of mapping out-of-gamut colors (i.e., points in the color space that do not have a corresponding point in the colorant space) must be solved. Second, the problem of generating a K signal defining the amount of black used in addition to the CMY colorants must be solved.
For each out-of-gamut color, a color in the printer gamut is selected and substituted for the out-of-gamut color. Strategies for selecting gamut colors to print in place of out-of-gamut CIELAB colors generally attempt to select colors in a consistent manner that preserves some characteristic of the original image. Examples of such strategies include chroma clipping, lightness preservation, and chroma preservation. Unfortunately, methods and apparatus for mapping from a color space to a colorant space are designed to execute only a single out-of-gamut strategy and are not easily modified to execute alternative strategies.
Black is added to CMY colorants in order to increase the dynamic range of the colorant space. Various strategies are employed to maintain a particular color in an image while reducing the CMY colorants and increasing the amount of black added to the CMY colorants. One approach employs an inverse mapping method for direct training of a neural network controller for CIELAB to CMYK conversion. Unfortunately, this method does not allow for explicit black generation specification.
For these and other reasons there is a need for the present invention.
The above mentioned problems with mapping from a color space, such as a CIELAB color space, to a colorant space, such as a CMYK color space, are addressed by the present invention which will be understood by reading and studying the following specification. A method and apparatus for color mapping is described. The method identifies a forward function for mapping a colorant space to a color space. Error terms and constraint terms are identified. Finally, the method associates values from the color space with values from the colorant space by minimizing the error function parameterized to each element of the color space.
In one embodiment of the invention, a method comprises the operations of selecting, identifying and associating. In the selecting operation, a color value from a color space is selected. In the identifying operation, a color value in a colorant space that minimizes a function parameterized by the color value selected from the color space is identified. And in the associating operation, the color value selected from the color space is associated with the color value identified in the colorant space.
In an alternate embodiment, a method comprises the operations of selecting a differentiable function and minimizing a function of the differentiable function parameterized to a color value in a color space to obtain a color value in a colorant space.
In another alternate embodiment, a method for obtaining a mapping of a color space to a colorant space comprises the operations of identifying and minimizing. In the identifying operation a differentiable function capable of mapping the colorant space to the color space is identified. In the minimizing operation, an error function of the differentiable function is minimized to obtain the mapping of the color space to the colorant space.
In another alternate embodiment, a method comprises identifying a differentiable function capable of mapping a colorant space to a color space and obtaining an inverse function of the differentiable function by solving a constrained optimization problem in which an error function includes errors in the color space and errors in the colorant space.
In another alternate embodiment, a method for building a color look-up table for a CMYK printer comprises a series of operations. The first operation includes identifying a differentiable function capable of mapping a CMYK space having a plurality of CMYK space values to a color space having a plurality of color space values. The second operation includes minimizing an error function of the differentiable function to obtain a function capable of mapping the color image space to the CMYK space. The error function includes a color difference error. The third operation includes populating the color look-up table such that the color look-up table is capable of mapping at least one of the color image space values to at least one of the plurality of CMYK space values according to the function.
In another alternate embodiment, a method for building a color look-up table for a scanner-printer comprises identifying a differentiable function capable of mapping a CMYK printer space having a plurality of CMYK printer space values to an RGB scanner space having a plurality of RGB scanner space values. The method further comprises minimizing an error function of the differentiable function to obtain a function capable of mapping the RGB scanner space into the CMYK printer space. The error function includes only a printer gamut boundary condition. Finally, the method comprises populating the color look-up table such that the color look-up table is capable of mapping at least one of the RGB scanner space values to at least one of the plurality of CMYK printer space values according to the function.
In another alternate embodiment, a method for printing an image comprises acquiring an image having a color space, identifying a differentiable function capable of mapping a colorant space to the color space, and minimizing an error function of the differentiable function to obtain a function capable of mapping the color space to the colorant space. The error function includes a color difference error and a printer constraint. The method further comprises mapping the color space to the colorant space according to the function and transmitting the colorant values to an imaging unit.
In another alternate embodiment, an apparatus for mapping a color space to a colorant space comprises a processing unit, a memory unit coupled to the processing unit, and software means operative on the processing unit. The software means is operative for minimizing an error function of a differentiable function capable of mapping a colorant space to a color space to obtain a function capable of mapping the color space to the colorant space. The error function includes a color difference error.
In another alternate embodiment, an apparatus for printing a color image having a color space on a printing unit having a colorant space comprises a processing unit, a memory unit, an imaging unit, and a software means operative on the processing unit. The memory unit and the imaging unit are coupled to the processing unit, and the software means is operative on the processing unit. The software means is capable of executing a series of operations. First, the software means is capable of identifying a differentiable function capable of mapping the colorant space to the color space. Second, the software means is capable of minimizing an error function of the differentiable function to obtain a function capable of mapping the color space to the colorant space. The error function includes a color difference error and a printer constraint. Third, the software means is capable of mapping the color space to the colorant space according to the function and transmitting the colorant space to the imaging unit.